1/1: Building DeriveFoldable (DeriveFoldable.idr) LOG derive.foldable.clauses:1: foldMapList : {0 a, b : Type} -> Monoid b => (a -> b) -> List a -> b foldMapList f Nil = neutral foldMapList f (x1 :: x2) = (f x1) <+> (foldMapList f x2) LOG derive.foldable.clauses:1: foldMapMaybe : {0 a, b : Type} -> Monoid b => (a -> b) -> Maybe a -> b foldMapMaybe f Nothing = neutral foldMapMaybe f (Just x1) = f x1 LOG derive.foldable.clauses:1: foldMapEither : {0 err : _} -> {0 a, b : Type} -> Monoid b => (a -> b) -> Either err a -> b foldMapEither f (Left x2) = neutral foldMapEither f (Right x2) = f x2 LOG derive.foldable.clauses:1: foldMapPair : {0 a : _} -> {0 a0, b : Type} -> Monoid b => (a0 -> b) -> Pair a a0 -> b foldMapPair f (MkPair x2 x3) = f x3 LOG derive.foldable.clauses:1: foldMapConstant : {0 a : _} -> {0 a0, b : Type} -> Monoid b => (a0 -> b) -> Constant a a0 -> b foldMapConstant f (MkConstant x2) = neutral LOG derive.foldable.clauses:1: foldMapVect : {0 n : _} -> {0 a, b : Type} -> Monoid b => (a -> b) -> Vect n a -> b foldMapVect f Nil = neutral foldMapVect f (x2 :: x3) = (f x2) <+> (foldMapVect f x3) LOG derive.foldable.clauses:1: foldMapMatrix : {0 m, n : _} -> {0 a, b : Type} -> Monoid b => (a -> b) -> Matrix m n a -> b foldMapMatrix f (MkMatrix x3) = foldMap (foldMap f) x3 LOG derive.foldable.clauses:1: foldMapTm : {0 a, b : Type} -> Monoid b => (a -> b) -> Tm a -> b foldMapTm f (Var x1) = f x1 foldMapTm f (Call x2 x3) = foldMap (assert_total (foldMapTm f)) x3 foldMapTm f (Lam x1) = foldMapTm (foldMap f) x1 LOG derive.foldable.clauses:1: foldMapTree : {0 a, b : Type} -> Monoid b => (a -> b) -> Tree a -> b foldMapTree f (Leaf x1) = f x1 foldMapTree f (Node x1) = assert_total (foldMap f x1) LOG derive.foldable.clauses:1: foldMapForest : {0 a, b : Type} -> Monoid b => (a -> b) -> Forest a -> b foldMapForest f Empty = neutral foldMapForest f (Plant x1 x2) = (assert_total (foldMap f x1)) <+> (foldMapForest f x2) LOG derive.foldable.clauses:1: foldMapList1 : {0 a, b : Type} -> Monoid b => (a -> b) -> List1 a -> b foldMapList1 f (MkList1 x1) = bifoldMap f (foldMap (assert_total (foldMapList1 f))) x1 LOG derive.foldable.clauses:1: foldMapFull : {0 a, b : Type} -> Monoid b => (a -> b) -> Full a -> b foldMapFull f (Leaf x1) = f x1 foldMapFull f (Node x1) = foldMapFull (bifoldMap f f) x1 LOG derive.foldable.clauses:1: foldMapLAZY : {0 a, b : Type} -> Monoid b => (a -> b) -> LAZY a -> b foldMapLAZY f (MkLAZY x1) = f x1 LOG derive.foldable.clauses:1: foldMapRose : {0 a, b : Type} -> Monoid b => (a -> b) -> Rose a -> b foldMapRose f (Node x1) = foldMap (\ eta => assert_total (foldMapRose f eta)) x1 LOG derive.foldable.assumption:10: I am assuming that the parameter m is a Foldable LOG derive.foldable.clauses:1: foldMapMaybeT : {0 m : _} -> Foldable m => {0 a, b : Type} -> Monoid b => (a -> b) -> MaybeT m a -> b foldMapMaybeT f (MkMaybeT x2) = foldMap (foldMap f) x2 LOG derive.foldable.assumption:10: I am assuming that the parameter layer is a Bifoldable LOG derive.foldable.clauses:1: foldMapTreeT : {0 lbl, layer : _} -> Bifoldable layer => {0 a, b : Type} -> Monoid b => (a -> b) -> TreeT lbl layer a -> b foldMapTreeT f (MkTreeT x3 x4) = bifoldMap f (foldMapTreeT f) x4 LOG derive.foldable.clauses:1: foldMapTree : {0 a, b : Type} -> Monoid b => (a -> b) -> Tree a -> b foldMapTree f (MkTree x1) = foldMap f x1 LOG derive.foldable.clauses:1: foldMapIVect : {0 m : _} -> {0 a, b : Type} -> Monoid b => (a -> b) -> IVect {n = m} a -> b foldMapIVect f (MkIVect x2) = foldMap f x2 LOG derive.foldable.clauses:1: foldMapEqMap : {0 key, eq : _} -> {0 a, b : Type} -> Monoid b => (a -> b) -> EqMap key {{conArg:5707} = eq} a -> b foldMapEqMap f (MkEqMap x3) = foldMap (foldMap f) x3 LOG derive.foldable.clauses:1: foldMapTree : {0 l : _} -> {0 a, b : Type} -> Monoid b => (a -> b) -> Tree l a -> b foldMapTree f (Leaf x2) = neutral foldMapTree f (Node x2 x3 x4) = (foldMapTree f x2) <+> ((f x3) <+> (foldMapTree f x4)) LOG derive.foldable.clauses:1: foldMapTriple : {0 a, b : _} -> {0 a0, b0 : Type} -> Monoid b0 => (a0 -> b0) -> Triple a b a0 -> b0 foldMapTriple f (MkTriple x3 x4 x5) = f x5