some documentation on compile time functions