    module Data.Strictness.HT where

    {-# INLINE arguments1 #-}
    arguments1 :: (a -> x) -> a -> x
    arguments1 :: (a -> x) -> a -> x
    arguments1 f :: a -> x
    f a :: a
    a = a -> x
    f (a -> x) -> a -> x
    forall a b. (a -> b) -> a -> b
    $! a
    a

    {-# INLINE arguments2 #-}
    arguments2 :: (a -> b -> x) -> a -> b -> x
    arguments2 :: (a -> b -> x) -> a -> b -> x
    arguments2 f :: a -> b -> x
    f a :: a
    a b :: b
    b = (a -> b -> x
    f (a -> b -> x) -> a -> b -> x
    forall a b. (a -> b) -> a -> b
    $! a
    a) (b -> x) -> b -> x
    forall a b. (a -> b) -> a -> b
    $! b
    b

    {-# INLINE arguments3 #-}
    arguments3 :: (a -> b -> c -> x) -> a -> b -> c -> x
    arguments3 :: (a -> b -> c -> x) -> a -> b -> c -> x
    arguments3 f :: a -> b -> c -> x
    f a :: a
    a b :: b
    b c :: c
    c = ((a -> b -> c -> x
    f (a -> b -> c -> x) -> a -> b -> c -> x
    forall a b. (a -> b) -> a -> b
    $! a
    a) (b -> c -> x) -> b -> c -> x
    forall a b. (a -> b) -> a -> b
    $! b
    b) (c -> x) -> c -> x
    forall a b. (a -> b) -> a -> b
    $! c
    c

    {-# INLINE arguments4 #-}
    arguments4 :: (a -> b -> c -> d -> x) -> a -> b -> c -> d -> x
    arguments4 :: (a -> b -> c -> d -> x) -> a -> b -> c -> d -> x
    arguments4 f :: a -> b -> c -> d -> x
    f a :: a
    a b :: b
    b c :: c
    c d :: d
    d = (((a -> b -> c -> d -> x
    f (a -> b -> c -> d -> x) -> a -> b -> c -> d -> x
    forall a b. (a -> b) -> a -> b
    $! a
    a) (b -> c -> d -> x) -> b -> c -> d -> x
    forall a b. (a -> b) -> a -> b
    $! b
    b) (c -> d -> x) -> c -> d -> x
    forall a b. (a -> b) -> a -> b
    $! c
    c) (d -> x) -> d -> x
    forall a b. (a -> b) -> a -> b
    $! d
    d

    {-# INLINE arguments5 #-}
    arguments5 :: (a -> b -> c -> d -> e -> x) -> a -> b -> c -> d -> e -> x
    arguments5 :: (a -> b -> c -> d -> e -> x) -> a -> b -> c -> d -> e -> x
    arguments5 f :: a -> b -> c -> d -> e -> x
    f a :: a
    a b :: b
    b c :: c
    c d :: d
    d e :: e
    e = ((((a -> b -> c -> d -> e -> x
    f (a -> b -> c -> d -> e -> x) -> a -> b -> c -> d -> e -> x
    forall a b. (a -> b) -> a -> b
    $! a
    a) (b -> c -> d -> e -> x) -> b -> c -> d -> e -> x
    forall a b. (a -> b) -> a -> b
    $! b
    b) (c -> d -> e -> x) -> c -> d -> e -> x
    forall a b. (a -> b) -> a -> b
    $! c
    c) (d -> e -> x) -> d -> e -> x
    forall a b. (a -> b) -> a -> b
    $! d
    d) (e -> x) -> e -> x
    forall a b. (a -> b) -> a -> b
    $! e
    e