@@ -524,18 +524,12 @@ infixl 7 ./
524524-- Projections
525525
526526-- | Biproduct first component projection
527−p1 :: forall e m n. (Num e, CountableDimensions n m, FromLists e n m, FromLists e m m) => Matrix e (Either m n) m
528−p1 =
529− let iden = iden :: Matrix e m m
530− zero = zeros :: Matrix e n m
531− in join iden zero
527+p1 :: (Num e, CountableDimensions n m, FromLists e n m, FromLists e m m) => Matrix e (Either m n) m
528+p1 = join iden zeros
532529
533530-- | Biproduct second component projection
534−p2 :: forall e m n. (Num e, CountableDimensions n m, FromLists e m n, FromLists e n n) => Matrix e (Either m n) n
535−p2 =
536− let iden = iden :: Matrix e n n
537− zero = zeros :: Matrix e m n
538− in join zero iden
531+p2 :: (Num e, CountableDimensions n m, FromLists e m n, FromLists e n n) => Matrix e (Either m n) n
532+p2 = join zeros iden
539533
540534-- Injections
541535
@@ -642,7 +636,7 @@ kr ::
642636kr a b =
643637 let fstM' = fstM @e @a @b
644638 sndM' = sndM @e @a @b
645− in tr fstM' . a * tr sndM' . b
639+ in (tr fstM' . a) * (tr sndM' . b)
646640
647641-- Product Bifunctor (Kronecker)
648642