take in Value and Reference Types