Move compile and link under partial namespace to reduce confusion