But the truth is, that "factory" must accept any DBObject, but in no event it gets "none", so this fact is translated to the method signature.
And by the way, if you have "Option" fields, you don't wrap "dbo" into "Some()", e.g.
yield new Obj(...., field from dbo, ....)
I appreciate your readiness to send patches! -- register at GitHub and fork the project, this way you'll be able to send "pull requests" very easily
Best,
Alexander