That declares those fields to be strict. See also http://www.haskell.org/haskellwiki/Performance/Data_types

On Friday, June 6, 2014, Song Zhang <vxanica@gmail.com> wrote:
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.