consistently forward-declare typedefs