more efficient shape testing
getter and setter optimisation
minor optimisations
extra docstrings
fix slicing and mutable view modification