Previously, functions like byte(), uint32(), etc had a side effect: they were silently permorming alignement (skipping all bits until next byte's boundary). I've considered this as a bad practice and now a call of align() function is required before using byte function. In addition, isAligned computed property was added to check if alignment is required.
Also changes were made to adopt this removal. This was done to improve behavior in some corner cases as well as enforce intentional usage of particular integer types.