note that we may need to do relative Foldable/ relative Traversable