typedefs are separated.