1/1: Building DeriveTraversable (DeriveTraversable.idr)
LOG derive.traversable.clauses:1: 
  traverseList : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> List a -> f (List b)
  traverseList f Nil = pure Nil
  traverseList f (x1 :: x2) = ((::) <$> (f x1)) <*> (traverseList f x2)
LOG derive.traversable.clauses:1: 
  traverseMaybe : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Maybe a -> f (Maybe b)
  traverseMaybe f Nothing = pure Nothing
  traverseMaybe f (Just x1) = Just <$> (f x1)
LOG derive.traversable.clauses:1: 
  traverseEither : {0 err : _} -> {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Either err a -> f (Either err b)
  traverseEither f (Left x2) = pure (Left x2)
  traverseEither f (Right x2) = Right <$> (f x2)
LOG derive.traversable.clauses:1: 
  traversePair : {0 a : _} -> {0 a0, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a0 -> f b) -> Pair a a0 -> f (Pair a b)
  traversePair f (MkPair x2 x3) = (MkPair x2) <$> (f x3)
LOG derive.traversable.clauses:1: 
  traverseConstant : {0 a : _} -> {0 a0, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a0 -> f b) -> Constant a a0 -> f (Constant a b)
  traverseConstant f (MkConstant x2) = pure (MkConstant x2)
LOG derive.traversable.clauses:1: 
  traverseVect : {0 n : _} -> {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Vect n a -> f (Vect n b)
  traverseVect f Nil = pure Nil
  traverseVect f (x2 :: x3) = ((::) <$> (f x2)) <*> (traverseVect f x3)
LOG derive.traversable.clauses:1: 
  traverseMatrix : {0 m, n : _} -> {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Matrix m n a -> f (Matrix m n b)
  traverseMatrix f (MkMatrix x3) = MkMatrix <$> (traverse (traverse f) x3)
LOG derive.traversable.clauses:1: 
  traverseTm : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Tm a -> f (Tm b)
  traverseTm f (Var x1) = Var <$> (f x1)
  traverseTm f (Call x2 x3) = (Call x2) <$> (traverse (assert_total (traverseTm f)) x3)
  traverseTm f (Lam x1) = Lam <$> (traverseTm (traverse f) x1)
LOG derive.traversable.clauses:1: 
  traverseTree : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Tree a -> f (Tree b)
  traverseTree f (Leaf x1) = Leaf <$> (f x1)
  traverseTree f (Node x1) = Node <$> (assert_total (traverse f x1))
LOG derive.traversable.clauses:1: 
  traverseForest : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Forest a -> f (Forest b)
  traverseForest f Empty = pure Empty
  traverseForest f (Plant x1 x2) = (Plant <$> (assert_total (traverse f x1))) <*> (traverseForest f x2)
LOG derive.traversable.clauses:1: 
  traverseList1 : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> List1 a -> f (List1 b)
  traverseList1 f (MkList1 x1) = MkList1 <$> (bitraverse f (traverse (assert_total (traverseList1 f))) x1)
LOG derive.traversable.clauses:1: 
  traverseFull : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Full a -> f (Full b)
  traverseFull f (Leaf x1) = Leaf <$> (f x1)
  traverseFull f (Node x1) = Node <$> (traverseFull (bitraverse f f) x1)
LOG derive.traversable.clauses:1: 
  traverseLAZY : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> LAZY a -> f (LAZY b)
  traverseLAZY f (MkLAZY x1) = MkLAZY <$> (delay <$> (f x1))
LOG derive.traversable.clauses:1: 
  traverseRose : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Rose a -> f (Rose b)
  traverseRose f (Node x1) = Node <$> (traverse (\ eta => delay <$> (assert_total (traverseRose f eta))) x1)
LOG derive.traversable.assumption:10: I am assuming that the parameter m is a Traversable
LOG derive.traversable.clauses:1: 
  traverseMaybeT : {0 m : _} -> Traversable m => {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> MaybeT m a -> f (MaybeT m b)
  traverseMaybeT f (MkMaybeT x2) = MkMaybeT <$> (traverse (traverse f) x2)
LOG derive.traversable.assumption:10: I am assuming that the parameter layer is a Bitraversable
LOG derive.traversable.clauses:1: 
  traverseTreeT : {0 layer : _} -> Bitraversable layer => {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> TreeT layer a -> f (TreeT layer b)
  traverseTreeT f (MkTreeT x2) = MkTreeT <$> (bitraverse f (traverseTreeT f) x2)
LOG derive.traversable.clauses:1: 
  traverseTree : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Tree a -> f (Tree b)
  traverseTree f (MkTree x1) = MkTree <$> (traverse f x1)
LOG derive.traversable.clauses:1: 
  traverseIVect : {0 m : _} -> {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> IVect {n = m} a -> f (IVect {n = m} b)
  traverseIVect f (MkIVect x2) = MkIVect <$> (traverse f x2)
LOG derive.traversable.clauses:1: 
  traverseEqMap : {0 key, eq : _} -> {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> EqMap key {{conArg:13933} = eq} a -> f (EqMap key {{conArg:13933} = eq} b)
  traverseEqMap f (MkEqMap x3) = MkEqMap <$> (traverse (traverse f) x3)
LOG derive.traversable.clauses:1: 
  traverseTree : {0 l : _} -> {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> Tree l a -> f (Tree l b)
  traverseTree f (Leaf x2) = pure (Leaf x2)
  traverseTree f (Node x2 x3 x4) = ((Node <$> (traverseTree f x2)) <*> (f x3)) <*> (traverseTree f x4)
LOG derive.traversable.clauses:1: 
  traverseTriple : {0 a, b : _} -> {0 a0, b0 : Type} -> {0 f : Type -> Type} -> Applicative f => (a0 -> f b0) -> Triple a b a0 -> f (Triple a b b0)
  traverseTriple f (MkTriple x3 x4 x5) = (MkTriple x3 x4) <$> (f x5)
LOG derive.traversable.clauses:1: 
  traverseF : {0 a, b : Type} -> {0 f : Type -> Type} -> Applicative f => (a -> f b) -> F a -> f (F b)
  traverseF f (MkF {x = x1} x2 x3 x4 {y = x5} x6 x7) = (((((\ y0 => \ y1 => \ y2 => MkF {x = y0} x2 y1 x4 {y = y2}) <$> (f x1)) <*> (f x3)) <*> (f x5)) <*> (f x6)) <*> (traverse f x7)
