woops, ghc 7.6 gets un happy when with slightly generic assoiciated data families, so lets put those outside the type class instances