DataModel::Metal will automatically set allow_nil when given a default value of nil
Migrate micro-assert and micro-spec to moon core