Refactor Decl type