Lots of cleanups, and return T: Float from noise functions