1. A design description rewriting device, comprising: a first inputter configured to input design description of software or hardware wherein the design description includes a plurality of functions being program modules, and at least one function of the functions calls a first function of the functions; a second inputter configured to input a set of type specifying description for the functions wherein the type specifying description specifies a type for a return value of each function and specifies, in view of each of the at least one function, a type for a return value of the first function called in each of the at least one function; a determiner configured to unify a type of a return value of the first function to a comprehensive type of the types of a return value of a first function specified in view of the at least one function and determine a type of the return value of each of second functions which is functions than the first function out of the functions to the type specified by the type specifying description; and a rewriter configured to rewrite the design description by inserting a type-rewrite instruction to instruct the comprehensive type as a type of the return value of the first function and type-rewrite instructions to instruct types determined by the determiner as types of the return values of the second functions.