It's definitely possible to use a null prototype with Trait.create.
Trait.create was explicitly modeled after ES5's built-in Object.create method. Both methods take as the first argument the prototype of the newly created object, and this is allowed to be null.
Example:
var Trait = require("traits.js");
var t1 = Trait({ a: 1, b: 2 })
var t2 = Trait({c: 3})
var t3 = Trait.compose(t1, t2)
var o = Trait.create(null, t3)
> o
{ a: 1, b: 2, c: 3 }
> o.hasOwnProperty // o doesn't inherit properties from Object.prototype
undefined
Cheers,
Tom