Improved assign and mixin functions, fixing a bug with mixin in the process (it was returning Object.defineProperty, which is undefined).