Adds append and prepend and changes the type signatures for some functions