{-# LANGUAGE PatternSynonyms #-} module Pattern where import qualified Data.List.NonEmpty as List1 ( cycle ) import Data.List.NonEmpty ( NonEmpty((:|)) ) test = List1.cycle (1 :| [2,3]) test2 = 1 :| [2,3,1,2,3]