1−{-# LANGUAGE BangPatterns, Rank2Types, UnboxedTuples #-}
1+{-# LANGUAGE BangPatterns, Rank2Types #-}
3-----------------------------------------------------------------------------
3-----------------------------------------------------------------------------