﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1399	Scrutinizer produces incorrect procedure types after merge	LemonBoy	evhan	"Suppose we get this expression after scrutinizing some code:

{{{
(or (procedure (|#!rest|) noreturn)
    (procedure (* |#!rest|) . *))
}}}

At the moment the result of the union is `(procedure (#!rest))` which is clearly wrong because it has arity N >= 0 while the second procedure in the `or` expression has arity N >= 1. Moreover the return type is lost, I'd expect the `noreturn` to be dropped and `*` to be used instead.

The result of the miscalculation of the resulting type may or may not be dangerous."	defect	reopened	major	someday	scrutinizer	4.12.0				medium
