is `mixing declarations and code' allowed?