That's a tough one. I'm not sure which way would be best. Accepting only ulong sized input would help with making sure code ported from 32 to 64 wouldn't break, but at the same time, using a bit array to reinterpret something is very platform specific to begin with...