vector and GeneralizedNewtypeDeriving