#!/usr/bin/perl
#use Mooix::Thing;
#use Mooix::Root;
run sub {
	my $this=shift;
	my $gen=shift || return "Cannot unset gender.";
	my $genroot=$Mooix::Root->mixin->gender;

	if (ref $gen) {
		if (! grep { $_ == $gen } $genroot->list) {
			fail "Bad gender object.";
		}
		return $gen;
	}
	
	my %genders = map { $_->name => $_ } $genroot->list;
	if (! $genders{lc($gen)}) {
		fail "Choose from: ".join(" ", keys %genders);
	}
	else {
		return $genders{lc($gen)};
	}
}
