I experimented with something similar a while ago, however my main focus was strictness and not default and optional parameters. I did end up adding it though.
this.define('isFemale', female, String.Boolean);
should be this.define('isFemale', female, Strict.Boolean);