{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -Wno-unused-imports #-} {-# LANGUAGE RecordWildCards #-} {-# OPTIONS_GHC -Wno-deferred-type-errors #-} {-# LANGUAGE TupleSections #-} data Something = Something { foo :: !String, bar :: !Int } {-# INLINE addOne #-} addOne :: Int -> Int addOne x = x + 1 {-# INLINE subOne #-} subOne :: Int -> Int subOne x = x - 1 tupleSection = (1, ) <$> Just 2