use statically analyzable requires