> add :: LabelName -> a -> State () > gets :: LabelName -> State (Maybe a) I think that's more or less what STRef does. No extendable records though. Cheers Silvio