{-# LANGUAGE CPP #-}
{-# OPTIONS -DMODULE #-} -- works because Pragmas are parsed only /before/ CPP has kicked in

#ifdef MODULE
module Defs where
#endif

#define PROP *
#define SET (* -> PROP)
#define SET1 (SET -> PROP)
#define SET2 (SET1 -> PROP)
#define SET3 (SET2 -> PROP)