Fix a bug with Rubinius, add constraint to DSLBuilder

Workaround for Rubinius behaving in a certain unexpected manner.