Minor point, but we usually use 'ud' for UniformDeviate.  This should probably be called 'distdev' or something like that.  (We don't currently save anything as base['ud'], so it's not conflicting with anything right now, but it just strikes me as potentially confusing.)