This is about syntax of Haskell.
I am reading the source code of Yampa. I find that a definition like the following

data SF' a b where
    SFArr   :: !(DTime -> a -> Transition a b) -> !(FunDesc a b) -> SF' a b


in Yampa.hs.